
option explicit



public sub VUI_OrdenCobro_OnDblClickEvent(byval sNameUI)

'	Debo sobreescribor completo el metodo padre
'	call VUI_OTP_OnCreateObjectEvent(sNameUI)

    dim oUI
    dim sClassName
    dim oObjectSelected
    dim oNewUI
    dim oObject

    ' Inicio la Transaccion
    if Q_ALLOW_BEGIN_TRANSACTION_ON_OPEN_OBJECT then oApp.oStorage.BeginTrans()

    ' Obtengo la UI
    set oUI = oApp.oUIs.Item(sNameUI)

    ' Obtengo el objeto seleccionado
    set oObject = oUI.oViewUI.oObjectSelected()

    ' Si no hay objeto seleccionado salgo del metodo
    if oObject is nothing then exit sub

    ' Muestro la vista
    set oNewUI = NewObjectUI(oObject)

    ' Le asgino el parent
    set oNewUI.oParentUI = oUI


	' ---
	' --- Agrego vistas personalizadas
	dim oViewMovimientosCuentaCorriente
	dim oViewMovimientosEfectivo
	dim oViewMovimientos
	dim oViewOtp
	
	dim oViewEfectivo
	
	dim oColumn
	
	set oViewMovimientos = newviewhnd("qerp_otp_movimiento", "m")
	set oViewOtp = newviewhnd("qerp_otp", "otp")

	' Armo vista de cuentas corrientes.	
	set oViewMovimientosCuentaCorriente = newviewfromclassname("qerp_ote_movimiento_cuenta_corriente", "cc")

	oViewMovimientosCuentaCorriente.AddJoinHnd newjoinhnd ( oViewMovimientos, _
															newfilterhnd ( newcolumnhnd(oViewMovimientos, "id", null), _
																			"=", _
																			newcolumnhnd(oViewMovimientosCuentaCorriente, "id", null) _
																		), _
															 "" _  
															)
	
	oViewMovimientosCuentaCorriente.AddFilterHnd newfilterhnd ( 	newcolumnhnd(oViewMovimientos, "id_detalle_valores", null), _
																	"=", _
																	newcolumnhnd(nothing, "'"&oObject.oSimpleProperty("id").sValue&"'", null) _
												 				)



	' Armo vista de movimiento banciario
	dim oViewMovimientosBanciarios
	dim oViewCuentasBancarias

	set oViewMovimientosBanciarios = newviewfromclassname("qerp_ote_movimiento_cuenta_bancaria", "b")

	oViewMovimientosBanciarios.AddJoinHnd newjoinhnd ( oViewMovimientos, _
														newfilterhnd ( newcolumnhnd(oViewMovimientos, "id", null), _
																		"=", _
																		newcolumnhnd(oViewMovimientosBanciarios, "id", null) _
																	), _
														 "" _  
														)
	
	oViewMovimientosBanciarios.AddFilterHnd newfilterhnd ( 	newcolumnhnd(oViewMovimientos, "id_detalle_valores", null), _
																	"=", _
																	newcolumnhnd(nothing, "'"&oObject.oSimpleProperty("id").sValue&"'", null) _
												 				)


	' Armo vista de movimiento efectivo	
	set oViewMovimientosEfectivo = newviewfromclassname("qerp_ote_movimiento_efectivo", "e")

	oViewMovimientosEfectivo.AddJoinHnd newjoinhnd ( oViewMovimientos, _
														newfilterhnd ( newcolumnhnd(oViewMovimientos, "id", null), _
																		"=", _
																		newcolumnhnd(oViewMovimientosEfectivo, "id", null) _
																	), _
														 "" _  
														)

	oViewMovimientosEfectivo.AddFilterHnd newfilterhnd ( 	newcolumnhnd(oViewMovimientos, "id_detalle_valores", null), _
																	"=", _
																	newcolumnhnd(nothing, "'"&oObject.oSimpleProperty("id").sValue&"'", null) _
												 				)


	' Armo vista de movimiento por cheque propio
	dim oViewChequePropio
	
	set oViewChequePropio = newviewfromclassname("qerp_ote_cheque_propio", "chp")


	oViewChequePropio.AddJoinHnd newjoinhnd ( oViewMovimientos, _
														newfilterhnd ( newcolumnhnd(oViewMovimientos, "id", null), _
																		"=", _
																		newcolumnhnd(oViewChequePropio, "id", null) _
																	), _
														 "" _  
														)
	
	oViewChequePropio.AddFilterHnd newfilterhnd ( 	newcolumnhnd(oViewMovimientos, "id_detalle_valores", null), _
																	"=", _
																	newcolumnhnd(nothing, "'"&oObject.oSimpleProperty("id").sValue&"'", null) _
												 				)

	' Armo vista de movimiento por cheque tercero
	dim oViewChequeTercero
	
	set oViewChequeTercero = newviewfromclassname("qerp_ote_cheque_tercero", "chp")

	oViewChequeTercero.AddJoinHnd newjoinhnd ( oViewMovimientos, _
														newfilterhnd ( newcolumnhnd(oViewMovimientos, "id", null), _
																		"=", _
																		newcolumnhnd(oViewChequeTercero, "id", null) _
																	), _
														 "" _  
														)
	
	oViewChequeTercero.AddFilterHnd newfilterhnd ( 	newcolumnhnd(oViewMovimientos, "id_detalle_valores", null), _
																	"=", _
																	newcolumnhnd(nothing, "'"&oObject.oSimpleProperty("id").sValue&"'", null) _
												 				)


	' Agrego las vistas
	call oNewUI.oViewUI.AddItem(oViewMovimientosCuentaCorriente)
	call oNewUI.oViewUI.AddItem(oViewMovimientosBanciarios)
	call oNewUI.oViewUI.AddItem(oViewMovimientosEfectivo)
	call oNewUI.oViewUI.AddItem(oViewChequePropio)
	call oNewUI.oViewUI.AddItem(oViewChequeTercero)
	' ---
	' ---

    ' Actualizo la vista actual
	if oNewUI.oViewUI.iItemCount > 0 then
		oNewUI.oViewUI.iItemSelected = 0
	end if

    call base_VUI_OnSelectItemEvent(oNewUI.sName)

    ' Actualizo la UI de propiedades
'    oNewUI.oPropertiesUI.Refresh()
    call oNewUI.Refresh()

    ' Ejecuto la UI
    call oNewUI.Show()

    ' Libero el objeto
    set oObject = nothing

    ' Actualizo la vista standar
'    WUI_OnClickEvent oNewUI.oObject.sClassName

end sub